The speed of data input can directly affect the efficiency of any computing device. An alphanumeric input device, such as a keyboard, is the most common way for a user to input textual data to a computing device. One feature of a keyboard is providing the user the ability to input a variety of characters and input types into the computing device. A keyboard may be used for alphabetic input (i.e., letters A-Z), numeric input (i.e., numbers 0-9), symbolic input (e.g., @, #, $, %, etc.) or other types of input.
The size of the keyboard and the number of keys thereon have practical limitations, however. At some point, both the size of and the number of keys on a keyboard may become unwieldy. Furthermore, on mobile devices, such as a laptop computer, netbook, smartphone, personal digital assistant (PDA), etc., size constraints limit the number of physical keys on a keyboard. With the number of characters that make up all the forms of input (i.e., alphabetic, numeric and symbolic), it may be unmanageable to have a one to one mapping ratio of characters to keys on the keyboard. Certain keyboards typically have a character to key mapping ratio of two to one or three to one. With multiple characters mapped to each key, the character selection can be made through the use of modifier keys (e.g., the SHIFT key, CTRL key, ALT key, etc.) Each physical key may have a primary input and one or more secondary inputs. The secondary inputs may be selected by pressing the physical key in combination with one of the modifier keys. This technique, however, requires the user to make many additional keystrokes when inputting data. These additional keystrokes take up valuable time and decrease the user's efficiency.